#按logic执行计算
"""
金叉：2，死叉：-2  向上：1  向下：-1
支持重复计算，但是要指定timekey，只能向前重复计算
"""
from research.calcor.calcor_logic import logic_calc
class signal_filter_bylogic:
    def __init__(self,signal,logic):
        self.signal=signal
        self.logic=logic
    def oncalc(self,b,timekey=None):
        r=logic_calc(self.logic,b)
        if r:
            s=b[self.signal]
            if s==2:
                return s
            elif s==-2:
                return 2
        return 0
